package cn.dao;

import cn.model.TRole;

import java.util.List;

/**
 * 角色数据管理接口
 * @author sunst
 *@since 2019-10-29
 */
public interface RoleDAO {
	/*
	 * 添加一个角色
	 * @param TRole 对象
	 * @return 添加规则的角色编号，如<=0则表示添加失败
	 */
	public int addRole(TRole role);

	/*
	 * 删除一个规则
	 * @param int roleid
	 * @return 成功返回true 失败返回false
	 */
	public boolean deleteRole(int roleid);

	/*
	 * 修改规则信息
	 * @param  TRole
	 * @return 成功返回true 失败返回false
	 */
	public boolean modifyRole(TRole role);

	/*
	 * 根据编号查询对象
	 * @param int noticeid
	 * @return TStudents对象
	 */
	public TRole getRoleById(String rolename);

	/*
	 * 获得所有的通知新闻  不分类型  全部获取  用于管理端用
	 * @param 用户编号，当前页，每页最大数量
	 * @return 通知信息对象列表
	 */
	public List<TRole> getAllRoleListByPage(String wherecondition, int currentPage, int pageSize);

	/**
	 * 获得所有的规则并按pageSize显示的页数
	 * 参数：每页显示数量
	 * 返回值：分页总数
	 */
	public int getAllRolePageAmount(String wherecondition);

	/*
	 * 获取所有角色的列表
	 * @return List
	 */
	public List<TRole> getAllRoles();

	/**
	 *
	 * @param currentPage 按分页查询的当前页
	 * @param pageSize 按分页查询的每页数量
	 * @return List
	 */
	public List<TRole> getRoleListByPage(String wherecondition,int currentPage, int pageSize);

	/**
	 * 根据条件获取符合条件的用户角色的数量
	 * @return 返回查询得到的记录条数
	 */
	public int getRoleAmount();
}
